Computer graphics systems are used in many game and simulation applications to create atmospheric effects such as fog, smoke, clouds, smog and other gaseous phenomena. These atmospheric effects are useful because they create a more realistic sense of the environment and also create the effect of objects appearing and fading at a distance.
An algorithm capable of rendering realistic images of these atmospheric effects needs to take into consideration the light scattering. Scattering due to light transport in air or water is the source of many important visual effects which determine appearance of the directly-viewed media as well as the surfaces immersed within it. Such effects are critical for realism. One example of the scattering effects is shadowing of the scattering medium. Without self-shadowing, for example, dense media such as clouds or smoke appear to emit rather than just reflect light, producing an overall implausible and cartoon-like effect. Another example of the scattering effects is haloing which creates bright regions around lights. Scattering also substantially softens the shading on immersed surfaces.
In real-time applications such as 3D games, these scattering effects have been either completely neglected or approximated using restrictive models which assume the medium is entirely homogeneous or trivially layered. Such models exclude inhomogeneous media such as non-constant fog, more complex clouds and smoke whose optical density varies greatly over space and time.
Some volume-rendering approaches simulates source radiance within the volume of the inhomogeneous medium and also support attenuation through medium by accumulating optical density in depth-sorted order over the discretized volume, but neglect scattering/shadowing effects. Full Monte Carlo scattering simulation may yield an accurate rendering, but is far too expensive for the real-time demands of designers and end-users.
Despite the practical difficulties of rendering inhomogeneous light scattering media (e.g., fog), such rendering nevertheless remains a popular element in many applications such as films and games. From an end user's point of view, what is needed is an ability to render in real-time complex scenes with high quality visual realism. From a designer's point of view, what is needed is affordable real-time or close to real-time control over the lighting environment and vantage point, as well as the density distribution and optical properties of the medium.